<?php
namespace zake\foundation\able\reactor;

use zake\foundation\able\stream\PointAble;
use zake\foundation\able\stream\ReadAble;

/**
 * Interface ListenAble
 * @package zake\foundation\able
 */
interface ListenAble extends ReadAble,PointAble
{

    /**
     *
     * @param string $className
     * @return mixed
     *
     * @author liu.bin 2020-04-21 22:03
     */
    public function setConnect($className);


    /**
     * 获取connect
     * @return ConnectAble|null
     *
     * @author liu.bin 2020-04-28 10:10
     */
    public function acceptConnect();


    /**
     * 定义与主进程通信channel
     * @param ChannelAble $channel
     *
     * @author liu.bin 2020-05-15 16:30
     */
    public function setChannel(ChannelAble $channel);
    public function getChannel();
}